This various implementations described herein relate to translation of digital content. One example of digital content is a web page, which can be described as a resource of information that is suitable for the World Wide Web (WWW). Typically web pages reside on a remote, publicly available web server and are accessed by client computers through a web browser. Web pages can also be stored on a local computer or on a web server that is restricted to a private network, such as a company's Intranet. The web pages are typically stored in Hypertext Markup Language (HTML) format, or in Extended Hypertext Markup Language (XHTML), and are requested by the clients using a Hypertext Transfer Protocol (HTTP).
Web pages typically contain many types of page elements, for example, hypertext links, which provide functionality allowing a user to navigate to other web pages. Web pages can be static or dynamic in nature. Static web pages do not allow any user interaction, except for navigating to, from, and within the web page itself. Dynamic web pages, on the other hand, often provide a high degree of user interactivity, and can be used to present a user interface to live web applications. Some examples of such applications include word processors, calendars, hosted email programs, online spreadsheets, presentation tools, etc. These dynamic web pages are also often referred to as web applications or web application pages. Other examples of digital content include various types of software applications that can be run on various computing devices, such as desktop or laptop computers, mobile phones, PDAs (Personal Digital Assistants), and the like.
Web pages and software applications are often translated into several languages to make them accessible to users across the world. Conventionally, in making such translations, the translators are provided with a list of phrases used on the web page or in the software application user interface, the translator translates the phrases, and the phrases appearing on the original web page or software application user interface are substituted with the translated phrases. However, without having a context for the phrases, it is often difficult for the translator to make an accurate translation, since there is often not a one-to-one correspondence between phrases in different languages, but a given phrase in one language can have many meanings in a different language, depending on the context for the phrase. This is true, in particular for web applications, where the phrases may occur in different positions on the web page, as the web page changes dynamically. As a result of the lack of context for the phrases to be translated, the translation quality may end up being poor, which in turn causes the review of the translation to be inefficient and time consuming. The erroneously translated phrases must also be corrected, which adds further time to the translation process.